🎖️GitЯра🎖️
Node / meshtastic / Meshtastic-Android / files / feature / settings / src / commonMain / kotlin / org / meshtastic / feature / settings / navigation / SettingsNavigation.kt
Displaying Raw • Download
feature/settings/src/commonMain/kotlin/org/meshtastic/feature/settings/navigation/SettingsNavigation.kt bf929c20f274232e0eb8ddc19b2dc82403e99e5b (bf929c20) Text, 13.96 KB
T8b949e/*
* Copyright (c) 2026 Meshtastic LLC
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
Tff7b72package T7ee787org.meshtastic.feature.settings.navigation
Tff7b72import T7ee787androidx.compose.runtime.Composable
Tff7b72import T7ee787androidx.compose.runtime.LaunchedEffect
Tff7b72import T7ee787androidx.compose.runtime.getValue
Tff7b72import T7ee787androidx.compose.runtime.remember
Tff7b72import T7ee787androidx.lifecycle.compose.collectAsStateWithLifecycle
Tff7b72import T7ee787androidx.lifecycle.compose.dropUnlessResumed
Tff7b72import T7ee787androidx.navigation3.runtime.EntryProviderScope
Tff7b72import T7ee787androidx.navigation3.runtime.NavBackStack
Tff7b72import T7ee787androidx.navigation3.runtime.NavKey
Tff7b72import T7ee787org.koin.compose.viewmodel.koinViewModel
Tff7b72import T7ee787org.koin.core.parameter.parametersOf
Tff7b72import T7ee787org.meshtastic.core.navigation.NodesRoute
Tff7b72import T7ee787org.meshtastic.core.navigation.Route
Tff7b72import T7ee787org.meshtastic.core.navigation.SettingsRoute
Tff7b72import T7ee787org.meshtastic.feature.settings.AboutScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.AdministrationScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.DeviceConfigurationScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.DeviceLinkDirectoryScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.ModuleConfigurationScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.NodeListScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.SettingsViewModel
Tff7b72import T7ee787org.meshtastic.feature.settings.appfunctions.AppFunctionsSettingsScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.appfunctions.AppFunctionsSettingsViewModel
Tff7b72import T7ee787org.meshtastic.feature.settings.debugging.DebugScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.debugging.DebugViewModel
Tff7b72import T7ee787org.meshtastic.feature.settings.filter.FilterSettingsScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.filter.FilterSettingsViewModel
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.CleanNodeDatabaseScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.CleanNodeDatabaseViewModel
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.RadioConfigViewModel
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.channel.ChannelConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.AmbientLightingConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.AudioConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.BluetoothConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.CannedMessageConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.DetectionSensorConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.DeviceConfigScreenCommon
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.DisplayConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.ExternalNotificationConfigScreenCommon
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.LoRaConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.MQTTConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.MeshBeaconConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.NeighborInfoConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.NetworkConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.PaxcounterConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.PositionConfigScreenCommon
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.PowerConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.RangeTestConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.RemoteHardwareConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.SecurityConfigScreenCommon
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.SerialConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.StatusMessageConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.StoreForwardConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.TAKConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.TakServerScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.TelemetryConfigScreen
Tff7b72import T7ee787org.meshtastic.feature.settings.radio.component.UserConfigScreen
Tff7b72import T7ee787kotlin.reflect.KClass
Tf0883e@Composable
Tff7b72fun Td2a8ffgetRadioConfigViewModelTb4b4b4(Te6edf3backStackTb4b4b4: Te6edf3NavBackStackTff7b72<Te6edf3NavKeyTff7b72>Tb4b4b4, Te6edf3destNumOverrideTb4b4b4: Tffa657Int? Tff7b72= Tff7b72nullTb4b4b4)Tb4b4b4: Te6edf3RadioConfigViewModel Tb4b4b4{
Tff7b72val Te6edf3destNum Tff7b72=
Te6edf3destNumOverride
Tff7b72?: Te6edf3rememberTb4b4b4(Te6edf3backStackTb4b4b4.Te6edf3toListTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Te6edf3backStackTb4b4b4.Te6edf3lastOrNull Tb4b4b4{ Tffa657it Tff7b72is Te6edf3SettingsRouteTb4b4b4.Te6edf3Settings Tb4b4b4}Tff7b72?.Te6edf3let Tb4b4b4{ Tb4b4b4(Tffa657it Tff7b72as Te6edf3SettingsRouteTb4b4b4.Te6edf3SettingsTb4b4b4)Tb4b4b4.Te6edf3destNum Tb4b4b4}
Tb4b4b4}
Tff7b72return Te6edf3koinViewModelTff7b72<Te6edf3RadioConfigViewModelTff7b72>Tb4b4b4(Te6edf3key Tff7b72= Te6edf3destNumTff7b72?.Te6edf3toStringTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{ Te6edf3parametersOfTb4b4b4(Te6edf3destNumTb4b4b4) Tb4b4b4}
Tb4b4b4}
Tf0883e@SuppressTb4b4b4(Ta5d6ff"Ta5d6ffLongMethodTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffCyclomaticComplexMethodTa5d6ff"Tb4b4b4)
Tff7b72fun Td2a8ffEntryProviderScopeTff7b72<Te6edf3NavKeyTff7b72>Tb4b4b4.Te6edf3settingsGraphTb4b4b4(Te6edf3backStackTb4b4b4: Te6edf3NavBackStackTff7b72<Te6edf3NavKeyTff7b72>Tb4b4b4) Tb4b4b4{
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3SettingsTff7b72> Tb4b4b4{ Te6edf3args Tff7b72-Tff7b72>
Tff7b72val Te6edf3isTabRoot Tff7b72= Te6edf3backStackTb4b4b4.Te6edf3firstOrNullTb4b4b4(Tb4b4b4) Tff7b72=Tff7b72= Te6edf3args
Te6edf3SettingsMainScreenTb4b4b4(
Te6edf3settingsViewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3radioConfigViewModel Tff7b72= Te6edf3getRadioConfigViewModelTb4b4b4(Te6edf3backStackTb4b4b4, Te6edf3destNumOverride Tff7b72= Te6edf3argsTb4b4b4.Te6edf3destNumTb4b4b4)Tb4b4b4,
Te6edf3onClickNodeChip Tff7b72= Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3addTb4b4b4(Te6edf3NodesRouteTb4b4b4.Te6edf3NodeDetailTb4b4b4(Tffa657itTb4b4b4)Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3onNavigate Tff7b72= Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3addTb4b4b4(Tffa657itTb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3onBack Tff7b72= Tff7b72if Tb4b4b4(Te6edf3isTabRootTb4b4b4) Tff7b72null Tff7b72else Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3DeviceConfigurationTff7b72> Tb4b4b4{
Te6edf3DeviceConfigurationScreenTb4b4b4(
Te6edf3viewModel Tff7b72= Te6edf3getRadioConfigViewModelTb4b4b4(Te6edf3backStackTb4b4b4)Tb4b4b4,
Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3onNavigate Tff7b72= Tb4b4b4{ Te6edf3route Tff7b72-Tff7b72> Te6edf3backStackTb4b4b4.Te6edf3addTb4b4b4(Te6edf3routeTb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3ModuleConfigurationTff7b72> Tb4b4b4{
Tff7b72val Te6edf3settingsViewModelTb4b4b4: Te6edf3SettingsViewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)
Tff7b72val Te6edf3excludedModulesUnlocked Tff7b72by Te6edf3settingsViewModelTb4b4b4.Te6edf3excludedModulesUnlockedTb4b4b4.Te6edf3collectAsStateWithLifecycleTb4b4b4(Tb4b4b4)
Te6edf3ModuleConfigurationScreenTb4b4b4(
Te6edf3viewModel Tff7b72= Te6edf3getRadioConfigViewModelTb4b4b4(Te6edf3backStackTb4b4b4)Tb4b4b4,
Te6edf3excludedModulesUnlocked Tff7b72= Te6edf3excludedModulesUnlockedTb4b4b4,
Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3onNavigate Tff7b72= Tb4b4b4{ Te6edf3route Tff7b72-Tff7b72> Te6edf3backStackTb4b4b4.Te6edf3addTb4b4b4(Te6edf3routeTb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3AdministrationTff7b72> Tb4b4b4{
Te6edf3AdministrationScreenTb4b4b4(
Te6edf3viewModel Tff7b72= Te6edf3getRadioConfigViewModelTb4b4b4(Te6edf3backStackTb4b4b4)Tb4b4b4,
Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3CleanNodeDbTff7b72> Tb4b4b4{
Tff7b72val Te6edf3viewModelTb4b4b4: Te6edf3CleanNodeDatabaseViewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)
Te6edf3CleanNodeDatabaseScreenTb4b4b4(Te6edf3viewModel Tff7b72= Te6edf3viewModelTb4b4b4)
Tb4b4b4}
Te6edf3ConfigRouteTb4b4b4.Te6edf3entriesTb4b4b4.Te6edf3forEach Tb4b4b4{ Te6edf3routeInfo Tff7b72-Tff7b72>
Te6edf3configComposableTb4b4b4(Te6edf3routeInfoTb4b4b4.Te6edf3routeTff7b72::Te6edf3classTb4b4b4, Te6edf3backStackTb4b4b4, Te6edf3routeInfoTb4b4b4) Tb4b4b4{ Te6edf3viewModel Tff7b72-Tff7b72>
Tff7b72when Tb4b4b4(Te6edf3routeInfoTb4b4b4) Tb4b4b4{
Te6edf3ConfigRouteTb4b4b4.Te6edf3USER Tff7b72-Tff7b72>
Te6edf3UserConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3CHANNELS Tff7b72-Tff7b72>
Te6edf3ChannelConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3DEVICE Tff7b72-Tff7b72>
Te6edf3DeviceConfigScreenCommonTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3POSITION Tff7b72-Tff7b72>
Te6edf3PositionConfigScreenCommonTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3POWER Tff7b72-Tff7b72>
Te6edf3PowerConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3NETWORK Tff7b72-Tff7b72>
Te6edf3NetworkConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3DISPLAY Tff7b72-Tff7b72>
Te6edf3DisplayConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3LORA Tff7b72-Tff7b72>
Te6edf3LoRaConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3BLUETOOTH Tff7b72-Tff7b72>
Te6edf3BluetoothConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ConfigRouteTb4b4b4.Te6edf3SECURITY Tff7b72-Tff7b72>
Te6edf3SecurityConfigScreenCommonTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Te6edf3ModuleRouteTb4b4b4.Te6edf3entriesTb4b4b4.Te6edf3forEach Tb4b4b4{ Te6edf3routeInfo Tff7b72-Tff7b72>
Te6edf3configComposableTb4b4b4(Te6edf3routeInfoTb4b4b4.Te6edf3routeTff7b72::Te6edf3classTb4b4b4, Te6edf3backStackTb4b4b4, Te6edf3routeInfoTb4b4b4) Tb4b4b4{ Te6edf3viewModel Tff7b72-Tff7b72>
Tff7b72when Tb4b4b4(Te6edf3routeInfoTb4b4b4) Tb4b4b4{
Te6edf3ModuleRouteTb4b4b4.Te6edf3MQTT Tff7b72-Tff7b72>
Te6edf3MQTTConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3SERIAL Tff7b72-Tff7b72>
Te6edf3SerialConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3EXT_NOTIFICATION Tff7b72-Tff7b72>
Te6edf3ExternalNotificationConfigScreenCommonTb4b4b4(
Te6edf3viewModel Tff7b72= Te6edf3viewModelTb4b4b4,
Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3STORE_FORWARD Tff7b72-Tff7b72>
Te6edf3StoreForwardConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3RANGE_TEST Tff7b72-Tff7b72>
Te6edf3RangeTestConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3TELEMETRY Tff7b72-Tff7b72>
Te6edf3TelemetryConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3CANNED_MESSAGE Tff7b72-Tff7b72>
Te6edf3CannedMessageConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3AUDIO Tff7b72-Tff7b72>
Te6edf3AudioConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3REMOTE_HARDWARE Tff7b72-Tff7b72>
Te6edf3RemoteHardwareConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3NEIGHBOR_INFO Tff7b72-Tff7b72>
Te6edf3NeighborInfoConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3AMBIENT_LIGHTING Tff7b72-Tff7b72>
Te6edf3AmbientLightingConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3DETECTION_SENSOR Tff7b72-Tff7b72>
Te6edf3DetectionSensorConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3PAXCOUNTER Tff7b72-Tff7b72>
Te6edf3PaxcounterConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3STATUS_MESSAGE Tff7b72-Tff7b72>
Te6edf3StatusMessageConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3TAK Tff7b72-Tff7b72>
Te6edf3TAKConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Te6edf3ModuleRouteTb4b4b4.Te6edf3MESH_BEACON Tff7b72-Tff7b72>
Te6edf3MeshBeaconConfigScreenTb4b4b4(Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3TakServerTff7b72> Tb4b4b4{ Te6edf3TakServerScreenTb4b4b4(Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4) Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3DebugPanelTff7b72> Tb4b4b4{
Tff7b72val Te6edf3viewModelTb4b4b4: Te6edf3DebugViewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)
Te6edf3DebugScreenTb4b4b4(Te6edf3viewModel Tff7b72= Te6edf3viewModelTb4b4b4, Te6edf3onNavigateUp Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3AboutTff7b72> Tb4b4b4{
Te6edf3AboutScreenTb4b4b4(
Te6edf3onNavigateUp Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Te6edf3jsonProvider Tff7b72= Tb4b4b4{ Te6edf3getAboutLibrariesJsonTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3FilterSettingsTff7b72> Tb4b4b4{
Tff7b72val Te6edf3viewModelTb4b4b4: Te6edf3FilterSettingsViewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)
Te6edf3FilterSettingsScreenTb4b4b4(Te6edf3viewModel Tff7b72= Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3NodeListTff7b72> Tb4b4b4{
Tff7b72val Te6edf3settingsViewModelTb4b4b4: Te6edf3SettingsViewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)
Te6edf3NodeListScreenTb4b4b4(
Te6edf3settingsViewModel Tff7b72= Te6edf3settingsViewModelTb4b4b4,
Te6edf3onNavigateUp Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3DeviceLinksTff7b72> Tb4b4b4{
Te6edf3DeviceLinkDirectoryScreenTb4b4b4(
Te6edf3viewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3onNavigateUp Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4,
Tb4b4b4)
Tb4b4b4}
Te6edf3entryTff7b72<Te6edf3SettingsRouteTb4b4b4.Te6edf3AppFunctionsSettingsTff7b72> Tb4b4b4{
Tff7b72val Te6edf3viewModelTb4b4b4: Te6edf3AppFunctionsSettingsViewModel Tff7b72= Te6edf3koinViewModelTb4b4b4(Tb4b4b4)
Te6edf3AppFunctionsSettingsScreenTb4b4b4(Te6edf3viewModel Tff7b72= Te6edf3viewModelTb4b4b4, Te6edf3onBack Tff7b72= Te6edf3dropUnlessResumed Tb4b4b4{ Te6edf3backStackTb4b4b4.Te6edf3removeLastOrNullTb4b4b4(Tb4b4b4) Tb4b4b4}Tb4b4b4)
Tb4b4b4}
Tb4b4b4}
T8b949e/** Expect declaration for the platform-specific settings main screen. */
Tf0883e@Composable
Tff7b72expect Tff7b72fun Td2a8ffSettingsMainScreenTb4b4b4(
Te6edf3settingsViewModelTb4b4b4: Te6edf3SettingsViewModelTb4b4b4,
Te6edf3radioConfigViewModelTb4b4b4: Te6edf3RadioConfigViewModelTb4b4b4,
Te6edf3onClickNodeChipTb4b4b4: Tb4b4b4(Tffa657IntTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3onNavigateTb4b4b4: Tb4b4b4(Te6edf3RouteTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Te6edf3onBackTb4b4b4: Tb4b4b4(Tb4b4b4(Tb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4)Tff7b72? Tff7b72= Tff7b72nullTb4b4b4,
Tb4b4b4)
T8b949e/** Expect declarations for platform-specific config screens. */
Tff7b72fun Tff7b72<Te6edf3R Tb4b4b4: Te6edf3RouteTff7b72> Td2a8ffEntryProviderScopeTff7b72<Te6edf3NavKeyTff7b72>Tb4b4b4.Te6edf3configComposableTb4b4b4(
Te6edf3routeTb4b4b4: Te6edf3KClassTff7b72<Te6edf3RTff7b72>Tb4b4b4,
Te6edf3backStackTb4b4b4: Te6edf3NavBackStackTff7b72<Te6edf3NavKeyTff7b72>Tb4b4b4,
Te6edf3routeInfoTb4b4b4: Te6edf3EnumTff7b72<Tff7b72*Tff7b72>Tb4b4b4,
Te6edf3contentTb4b4b4: Tf0883e@Composable Tb4b4b4(Te6edf3RadioConfigViewModelTb4b4b4) Tff7b72-Tff7b72> Tffa657UnitTb4b4b4,
Tb4b4b4) Tb4b4b4{
Te6edf3addEntryProviderTb4b4b4(Te6edf3routeTb4b4b4) Tb4b4b4{
Tff7b72val Te6edf3viewModel Tff7b72= Te6edf3getRadioConfigViewModelTb4b4b4(Te6edf3backStackTb4b4b4)
T8b949e// Set loading state before content reads the StateFlow, ensuring
T8b949e// LoadingOverlay is visible from the very first composition frame.
Te6edf3remember Tb4b4b4{ Te6edf3viewModelTb4b4b4.Te6edf3ensureLoadingForRemoteTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3let Tb4b4b4{ Tff7b72true Tb4b4b4} Tb4b4b4}
Te6edf3LaunchedEffectTb4b4b4(Tffa657UnitTb4b4b4) Tb4b4b4{ Te6edf3viewModelTb4b4b4.Te6edf3setResponseStateLoadingTb4b4b4(Te6edf3routeInfoTb4b4b4) Tb4b4b4}
Te6edf3contentTb4b4b4(Te6edf3viewModelTb4b4b4)
Tb4b4b4}
Tb4b4b4}
Served by rngit 1.5.0 - Generated in 0.1s